/*******************************************************************************
 * @file Spoon.cpp
 * Implementation of methods for class CSpoon
 * 
 * @package Dining.
 * 
 * @author mk
 * @date 03/01/2008 13:50:21
 * @version 0.1
 ******************************************************************************/

#include "Spoon.h"
#include "Assert.h"
#include "Logging.h"
#include "Globals.h"

using namespace Dining;

CSpoonMutex::~CSpoonMutex()
{
	TRACE_FUNC("CSpoonMutex::~CSpoonMutex");

	LOG_DBG("Spoon " <<
		m_Id <<
		" was destroyed.");
}

CSpoonMutex::CSpoonMutex(const unsigned int anId) : m_Id(anId)
{
	TRACE_FUNC("CSpoonMutex::CSpoonMutex");
	
	LOG_DBG("Spoon " <<
		m_Id <<
		" was created.");
}

CSpoonUnsync::~CSpoonUnsync()
{
	TRACE_FUNC("CSpoonUnsync::~CSpoonUnsync");
}

CSpoonUnsync::CSpoonUnsync(const unsigned int anId) : m_Id(anId)
{
	TRACE_FUNC("CSpoonUnsync::CSpoonUnsync");
}

CSpoonSync::~CSpoonSync()
{
	TRACE_FUNC("CSpoonSync::~CSpoonSync");

	delete m_Spoon;
}

CSpoonSync::CSpoonSync(const unsigned int anId) :
	m_Spoon(new CSpoonUnsync(anId))
{
	TRACE_FUNC("CSpoonSync::CSpoonSync");
}
